/*
 *    Copyright 2013 the original author or authors.
 *
 *    Licensed under the Apache License, Version 2.0 (the "License");
 *    you may not use this file except in compliance with the License.
 *    You may obtain a copy of the License at
 *
 *       http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing, software
 *    distributed under the License is distributed on an "AS IS" BASIS,
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *    See the License for the specific language governing permissions and
 *    limitations under the License.
 */
package quiver.qgraph;

/**
 * @author vinu
 * @version 1.0.0
 *
 */

public class Wave {
    private double[] wData;
    private int wSize;
    private boolean hasNext;
    private Wave wNext;
	/**
	 * Initializes a Wave with size 0
	 */
	public Wave()
	{
		wData = new double[0];
		wSize = 0;
		hasNext = false;
		wNext = null;
	}
	
	/**
	 *  Initializes a Wave using a double input
	 */
	public Wave(double [] pData)
	{
		this.wData = pData;
		this.wSize = pData.length;
		this.hasNext = false;
		this.wNext = null;		
	}
	/**
	 * Intializes a Wave from another Wave(Wave copy constructor)
	 */
	public Wave(Wave wave)
	{		
		this.wData = wave.wData;
		this.wSize = wave.wSize;
		this.hasNext = wave.hasNext;		
		if(wave.hasNext)
		{
		 this.wNext = new Wave(wave.wNext);	
		}
	}
	/**
	 *  Initializes a Wave using an int input
	 */
	public Wave(int [] pData)
	{
		this.wSize = pData.length;
		for(int i =0 ;i<wSize;i++)
			this.wData[i] = pData[i]; 	
		this.hasNext = false;
		this.wNext = null;		
	}
	/**
	 * get the data
	 */
	
}
